package com.sun.module_network

/**
 *@author:sunc
 *@time :2025/7/18 11:00
 *@desc: 服务器返回数据的基类
 * 1、如果需要框架帮你做脱壳处理请继承它
 * 2、必须实现抽象方法，根据自己的业务判断返回请求结果是否成功
 *
 */
abstract class BaseResponse<T> {

    /**
     * 判断请求是否成功
     * @return 返回布尔值，表示请求是否成功
     */
    abstract fun isSuccess():Boolean

    /**
     * 获取响应数据
     * @return 返回泛型T类型的数据，可能为null
     */
    abstract fun getResponseData():T?

    /**
     * 获取响应码
     * @return 返回长整型的响应码
     */
    abstract fun getResponseCode(): Long

    /**
     * 获取响应消息
     * @return 返回字符串类型的响应消息
     */
    abstract fun getResponseMsg():String
}